/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controller;

import java.sql.SQLException;
import java.util.LinkedList;
import model.dto.PragaDoencaDTO;
import model.exception.MissingIdException;
import model.exception.NoChangesOnUpdateException;
import model.exception.NotNullFieldsException;
import model.handler.PragaDoencaHandler;

/**
 *
 * @author Gabriel
 */
public class PragaDoencaController {
    
    PragaDoencaHandler pragaDoencaHandler;

    public PragaDoencaController() throws SQLException, ClassNotFoundException {
        pragaDoencaHandler = new PragaDoencaHandler();
    }
    
    public LinkedList<PragaDoencaDTO> getTodasPragasDoencas() throws SQLException {
        return pragaDoencaHandler.getTodasPragasDoencas();
    }
    
    public LinkedList<PragaDoencaDTO> pesquisaPragaDoenca(Integer id,
                                                          String nomeVulgar,
                                                          String nomeCientifico,
                                                          String agenteCausador,
                                                          String sintomas,
                                                          String tratamento) throws SQLException {
        return pragaDoencaHandler.pesquisaPragaDoenca(id, nomeVulgar, nomeCientifico, agenteCausador, sintomas, tratamento);
        
    }
    
    public void cadastraPragaDoenca(PragaDoencaDTO pragaDoencaDTO) throws NotNullFieldsException, SQLException {
        pragaDoencaHandler.cadastraPragaDoenca(pragaDoencaDTO);
    }
    
    public void atualizaPragaDoenca(PragaDoencaDTO pragaDoencaDTO,
                                    boolean atualizaFlgPragaDoenca,
                                    boolean atualizaFlgAlvo,
                                    boolean atualizaNomeVulgar,
                                    boolean atualizaNomeCientifico,
                                    boolean atualizaAgenteCausador,
                                    boolean atualizaSintomas,
                                    boolean atualizaTratamento) throws MissingIdException, NotNullFieldsException, NoChangesOnUpdateException, SQLException {
        pragaDoencaHandler.atualizaPragaDoenca(pragaDoencaDTO, atualizaFlgPragaDoenca, atualizaFlgAlvo, atualizaNomeVulgar, atualizaNomeCientifico, atualizaAgenteCausador, atualizaSintomas, atualizaTratamento);
    }
}
